Various processing tools are utilized in relation to energy industry operations and are used to perform tasks including data collection, storage, modelling and analysis. Data from various sources (e.g., measurement and analysis data from various well locations and regions) can be aggregated in a repository for access by numerous users. Object-oriented programming is used to manage data sets, and involves the interaction among a plurality of data objects to implement a computer application.
Some data collection systems are configured as a distributed object system, which includes multiple nodes, each of which is capable of storing a variable amount of object data. Distributed objects may be spread over multiple computers in the system or multiple processors within a computer, and different objects may be managed by different users on different systems. Such distributed object systems might include a large number of nodes which are remotely located relative to one another and connected together in opportunistic ways.
Data collection systems, such as energy industry collection systems that utilize data repositories, often employ client-server models in which data repository servers or hosts act as providers of resources or data and client computers act as requesters of server resources or data. The client-server model is a well-established paradigm where the server can be a repository of a potentially huge set of data while more or more clients access this data through some type of network connection. Access to this data can either read, meaning data is moving from server to client, or write, meaning that new or changed data is being moved to the server.
The performance of such client-server systems is heavily dependent on the communication channel between the server or host and the clients. If the communication channel is reliable and fast and the data transfers small, the client-server system will generally perform well, even to the point that the system appears to be a single integrated system. However, the moment that the communications channel becomes compromised (e.g., intermittent or the size of the data transfers become large compared to the throughput capacity of the communication channel), the performance of the client/server system can degrade dramatically to the point where it is unusable.